export interface StationVO extends BaseEntity {
  /**
   * 主键id
   */
  stationId: number;
  /**
   * 附件列表
   */
  attachments?: Array<any>;
  /**
   * 浓度
   */
  concentration?: number;
  /**
   * 浓度状态
   */
  concentrationStatus?: number;
  /**
   * 联系电话
   */
  contactPhone?: string;
  /**
   * 联系人
   */
  contactUser?: string;
  /**
   * 数据卡状态
   */
  dataCardStatus?: number;
  epayType?: number;
  eprice?: number;
  esettleType?: number;
  esettleVendor?: number;
  /**
   * 制氧机状态
   */
  generatorOnlineStatus?: number;
  /**
   * 坐标信息
   */
  geoPoint?: string;
  lastMaintenanceTime?: Date;
  /**
   * 首次运营时间
   */
  launchTime?: Date;
  /**
   * 是否泄漏
   */
  leakStatus?: number;
  /**
   * 最低保压时长;（储罐压力从上限到下限的时长）
   */
  leakThreshold?: number;
  /**
   * 地理位置信息
   */
  location?: string;
  /**
   * 最大接入数量
   */
  maxCap?: number;
  /**
   * 站房名称
   */
  name?: string;
  omax?: number;
  omin?: number;
  /**
   * 运营模式:0 商用 1调试
   */
  operationalMode?: number | string;
  /**
   * 是否超限
   */
  overloadStatus?: number;
  plowDays?: number;
  pmax?: number;
  pmaxThreshold?: number;
  pmin?: number;
  pminThreshold?: number;
  /**
   * 整型，10倍因子，实际值需除10
   */
  pressure?: number;
  /**
   * 压力状态
   */
  pressureStatus?: number;
  /**
   * 行政区划编号
   */
  regionCode?: string;
  /**
   * 是否启用软扩容：0-禁用，1启用
   */
  softExpansion?: number;
  /**
   * 总体状态汇总值
   */
  status?: number;
  [property: string]: any;
}

export interface StationForm {
  /**
   * 主键id
   */
  stationId?: number | undefined;
  /**
   * 站房名称
   */
  name: string;
  /**
   * 联系电话
   */
  contactPhone?: string;
  /**
   * 联系人
   */
  contactUser?: string;

  epayType?: string;
  eprice?: number;
  esettleType?: string;
  esettleVendor?: number;
  /**
   * 坐标信息
   */
  geoPoint?: string;
  /**
   * 首次运营时间
   */
  launchTime?: Date;
  /**
   * 最低保压时长;（储罐压力从上限到下限的时长）
   */
  leakThreshold?: number;
  /**
   * 地理位置信息
   */
  location?: string;
  /**
   * 最大接入数量
   */
  maxCap?: number;
  omax?: number;
  omin?: number;
  /**
   * 运营模式:0 商用 1调试(首次商用需要自动填写launchTime，后续修改需要记录日志)
   */
  operationalMode?: number | string;
  plowDays?: number;
  pmax?: number;
  pmaxThreshold?: number;
  pmin?: number;
  pminThreshold?: number;
  /**
   * 行政区划编号
   */
  regionCode?: string;
  /**
   * 是否启用软扩容：0-禁用，1启用
   */
  softExpansion?: number;
  /**
   * 站房总体状态值
   */
  status?: number;
  /**
   * 附件列表
   */
  attachments?: Array<any>;
  [property: string]: any;
}

export interface StationQuery extends PageQuery {
  /**
   * 站房名称
   */
  name?: string;
  /**
   * 总体状态汇总值
   */
  status?: number | string;
  /**
   * 行政区划编号
   */
  regionCode?: string;
}

export const defaultStationModel = (): StationForm | StationVO => {
  return {
    name: '',
    contactUser: '',
    contactPhone: '',
    regionCode: '',
    location: '',
    maxCap: 18,
    pmax: 350000,
    pmin: 250000,
    omax: 96,
    omin: 92,
    eprice: 1,
    leakThreshold: 20 * 60 * 60,
    plowDays: 5,
    softExpansion: 64800,
    operationalMode: 1,
    epayType: '',
    esettleType: '2',
    esettleVendor: undefined,
    attachments: []
  };
};
